CRM
Detailed description of API:β
Interface currently available for DMS development in:- LATAM (Construction Equipment - CE)
Version & Updatesβ
| Version | Revision Date | Revision History |
|---|---|---|
| 1.0 | 24th April 2026 | Initial Release |
Objective & Scopeβ
The purpose of this integration is to enable a standardized set of APIs that allow seamless exchange of CRM-related data between Dealer Management Systems (DMS) and the Enterprise Data System (EDS). The data exchanged through these interfaces supports downstream reporting and analytical use cases.
The scope of this integration includes:
-
Inbound data flow (DMS β EDS)
- Submission of CRM entities such as Leads and Retail Orders from DMS to EDS
-
Outbound data flow (EDS β DMS)
- Retrieval of Equipment Wholesale and Status information from EDS to DMS
This integration is implemented through the Digital Enterprise Platform (DEP) and applies to DMS solutions operating within the LATAM Construction Equipment (CE) segment.
EDS acts as the system of record for both publishing and consuming the integrated data.
Objectiveβ
- Exchange CRM data between DMS and EDS
- Enable downstream analytics and reporting
Functional Scopeβ
- POST Lead API β Send lead data from DMS to EDS
- POST Retail Order API β Send retail order data from DMS to EDS
- GET Equipment Wholesale & Status API β Retrieve equipment data from EDS
High-level Integrationβ
- DMS sends request to DEP-EXT layer
- Authentication is validated at DEP
- Request is forwarded to internal services (DEP-INT)
- Data processing happens with EDS system
- Response is returned back to DMS
Key Componentsβ
- API Gateway / APIM
- Security (DSA Validation)
- Authentication Layer
- Monitoring & Logging
API Formatβ
- REST
Authenticationβ
- Basic Authentication (UserID & Password)
- Subscription Key required in HTTP header
- Credentials configured at Dealer level
Connection Detailsβ
CNHi provides two environments:
- CERT/UAT
- Production
| Environment | URL | API | Request Type |
|---|---|---|---|
| CERT/UAT | https://{base_url}/latamexternal/services/latam-crm | REST | POST |
| Production | TBD | REST | POST |
β 1. POST Lead API
Descriptionβ
This API allows DMS to send Lead information to EDS via DEP.
Request Structureβ
| Field | DEP Name | Type | Mandatory |
|---|---|---|---|
| Lead ID | LeadId | UUID | Yes |
| Lead Source | LeadSource | Enum | Yes |
| Brand | Brand | Enum | Yes |
| Product Line | ProductLine | String | Yes |
| Model | Model | String | Yes |
| Segment | Segment | Enum | Yes |
| Assigned Dealer | DealerId | UUID | Yes |
| Lead Status | LeadStatus | Enum | Yes |
| Loss Reason | LossReason | Enum | Yes |
| Routing Rule | RoutingRule | String | Yes |
| Reassign Count | ReassignCount | Integer | Yes |
| Owner User | OwnerUserId | UUID | Yes |
| Accepted At | AcceptedAt | Datetime (ISO 8601) | Yes |
| First Contact Time | FirstContactTime | Integer | Yes |
| UTM Source | UtmSource | String | Yes |
| UTM Medium | UtmMedium | String | Yes |
| UTM Campaign | UtmCampaign | String | Yes |
| Captured At | CapturedAt | Datetime (ISO 8601) | Yes |
Notesβ
- One request represents one lead
- Supports near real-time ingestion
Sample Request Payloadβ
Endpoint: /cecrm/lead
{
"leadId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"leadSource": "string",
"brand": "string",
"productLine": "string",
"model": "string",
"segment": "string",
"dealerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"leadStatus": "string",
"lossReason": "string",
"routingRule": "string",
"reassignmentCount": 0,
"ownerUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"acceptedAt": "2026-06-19T12:09:00.674Z",
"firstContactTime": 0,
"utmSource": "string",
"utmMedium": "string",
"utmCampaign": "string",
"capturedAt": "2026-06-19T12:09:00.674Z"
}
β 2. POST Retail Order API
Descriptionβ
This API allows DMS to send Retail Order data to EDS.
Request Structureβ
Post Retail Order API Request Structureβ
| Field | EDS Name | DEP Name | Format | Required (Y/N) | Example |
|---|---|---|---|---|---|
| ID | id | id | UUID | Y | 3fa85f64... |
| VIN (Chassis) | vin | vin | String | Y | 17 chars |
| Invoice Series | invoiceSeries | invoiceSeries | String | Y | 1 |
| Invoice Number | invoiceNumber | invoiceNumber | String | Y | 123456 |
| Invoice Date/Time | invoiceDateTime | invoiceDateTime | Datetime | Y | ISO 8601 |
| NF-e Access Key | invoiceNfeAccessKey | invoiceNfeAccessKey | String | N | 44 digits |
| Order Number | orderNumber | orderNumber | String | Y | 98765 |
| Sell Out Flag | sellOutFlag | sellOutFlag | Integer | Y | 0 or 1 |
| Billing Date/Time | billingDateTime | billingDateTime | Datetime | Y | ISO 8601 |
| Received Date/Time | receivedDateTime | receivedDateTime | Datetime | Y | ISO 8601 |
| Pre-Delivery Date | preDeliveryDateTime | preDeliveryDateTime | Datetime | Y | ISO 8601 |
| Technical Delivery | technicalDeliveryDateTime | technicalDeliveryDateTime | Datetime | Y | ISO 8601 |
| Activity Code | activityCode | activityCode | Integer | Y | 0 |
| Application Code | applicationCode | applicationCode | Integer | Y | 0 |
| Resource Code | resourceCode | resourceCode | Integer | Y | 0 |
| Form of Payment | formOfPayment | formOfPayment | String | Y | Boleto |
| Days for Payment | daysForPayment | daysForPayment | Integer | Y | 30 |
| Used Equipment | usedEquipment | usedEquipment | Integer | Y | 0 or 1 |
| Seller Name | sellerName | sellerName | String | Y | JoΓ£o Silva |
| Customer ID | id | id | UUID | Y | UUID v4 |
| Customer Document Type | documentType | documentType | String | Y | CPF/CNPJ |
| Customer Document Number | documentNumber | documentNumber | String | Y | 000.000... |
| Customer Zip Code | zipCode | zipCode | String | Y | 00000-000 |
| Customer City | city | city | String | Y | Contagem |
| Customer State | state | state | String | Y | MG |
| Customer Email | String | Y | xxxx@email.com | ||
| Item Number | itemNumber | itemNumber | String | Y | 1 |
| Item Code | itemCode | itemCode | String | Y | Part number |
| Item Description | itemDescription | itemDescription | String | Y | PeΓ§a X |
| Item Amount | itemAmount | itemAmount | Decimal | Y | 1500.00 |
| Dealer Code | dealerCode | dealerCode | String | Y | UUID v4 |
| Dealer Name | dealerName | dealerName | String | Y | ConcessionΓ‘rio X |
| Brand Code | brandCode | brandCode | String | Y | "CS" / "NH" |
Notesβ
- One request represents one retail order
- Supports real-time data push
Sample Request Payloadβ
Endpoint: /cecrm/retailorder
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"vin": "string",
"invoiceSeries": "string",
"invoiceNumber": "string",
"invoiceDateTime": "2026-06-19T12:09:37.748Z",
"invoiceNfeAccessKey": "string",
"orderNumber": "string",
"sellOutFlag": 0,
"billingDateTime": "2026-06-19T12:09:37.748Z",
"receivedDateTime": "2026-06-19T12:09:37.748Z",
"preDeliveryDateTime": "2026-06-19T12:09:37.748Z",
"technicalDeliveryDateTime": "2026-06-19T12:09:37.748Z",
"activityCode": 0,
"applicationCode": 0,
"resourceCode": 0,
"formOfPayment": "string",
"daysForPayment": 0,
"usedEquipment": 0,
"sellerName": "string",
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"documentType": "string",
"documentNumber": "string",
"zipCode": "string",
"city": "string",
"state": "string",
"email": "string",
"items": [
{
"itemNumber": "string",
"itemCode": "string",
"itemDescription": "string",
"itemAmount": 0
}
],
"dealerCode": "string",
"dealerName": "string",
"brandCode": "string"
}
β 3. GET Equipment Wholesale & Status API
Descriptionβ
This API allows DMS to retrieve Equipment Wholesale and Status data from EDS.
Key Characteristicsβ
- Method: GET
- Data Type: Daily incremental changes
- Filters supported:
- Date
- GDD Code
Endpoint: /cecrm/getequipmentwholesale
Response Structureβ
| Field | Type | Mandatory |
|---|---|---|
| VIN | String (17 chars) | Yes |
| Aging Days | Integer | Yes |
| Blocks | String | Yes |
| ETA | Date | Yes |
| Shipping Window ID | String | Yes |
| Quantity | Integer | Yes |
| Order Status | Enum | Yes |
| Billing Status | Enum | Yes |
| Order ID | String | Yes |
| Brand/Line/Model | String | Yes |
| Dealer ID | UUID | Yes |
| Shipping Status | Enum | Yes |
Notesβ
- Primary identifier: VIN
- Data returned is daily delta
- Used for tracking inventory lifecycle
Response Codesβ
| Status Code | Description |
|---|---|
| 200 | Success |
| 400 | Validation Error |
| 401 | Unauthorized |
| 404 | Not Found |
| 500 | Internal Server Error |
Key Integration Pointsβ
- All APIs are exposed via DEP
- Authentication handled centrally
- DSA validation applied before processing
- Backend systems support batch handling